1. Field of the Invention
Implementations consistent with the principles of the invention relate generally to data processing and, more particularly, to preventing disruptions in a redundant master/slave system with multiple Media Access Control (MAC) addresses.
2. Description of Related Art
Master-slave systems have been in existence for years. In such systems, a master device usually controls the operation of one or more slave devices. For example, the master device might cause the slave devices to perform certain operations or functions required by the system. In some systems, the master device connects to the slave devices via one or more dedicated wires. A problem with such systems is that the number of connecting wires can become unmanageable.
In other systems, the master device connects to the slave devices via a bus. Bus systems, like these, have proven to be more efficient than their counterpart dedicated wiring systems. A concern in master-slave bus systems is what to do when the master device fails. Oftentimes, such failures can take down the entire system until the master device can be replaced or restarted, which may not occur for an extended period of time.
To minimize system reliance on the operation of a single master device, redundant master devices can be used. In this case, one master device typically acts as the system master and the other slave devices act as backups in case of failure to the system master. The master device usually communicates with the slave devices over a bus.
The master device and each slave device typically include a communication interface (also known as a network card, network interface card, and/or NIC). Such communication interfaces are useful in Ethernet-based master/slave systems. Since all communications in Ethernet-based systems are broadcast over a common medium (e.g., a bus), any information sent by one device connected to the system is received by all of the devices connected to the system, even if that information was intended for just one destination. A communication interface may filter out information not addressed to it, interrupting the master/slave device only when applicable packets of information are received.
Each communication interface is typically assigned a unique real MAC (RMAC) address to ensure that all devices in an Ethernet network have distinct addresses. A real MAC address is a hardware or physical address that uniquely identifies each device of a system. A real MAC address may be programmed by the device manufacturer. In Virtual Router Redundancy Protocol (VRRP) systems, a VRRP or virtual MAC (VMAC) address may be used to send information to a proper location. A virtual MAC address may be associated with and/or used by whichever device is the system master in a master/slave system.
Each communication interface may also be assigned an Internet Protocol (IP) address. An IP address is an identifier for a device on a network, e.g., a TCP/IP network. Networks using the TCP/IP protocol may route information based on the IP address of the destination. An IP address may be virtual or real. A virtual IP (VIP) address is an IP address that may be shared among multiple devices. A virtual IP address may be associated with and/or used by whichever device is the system master in a master/slave system. A real IP (RIP) address may be used by the network device upon which a process is executing. The format of a real IP address may be a 32-bit numeric address written as four numbers separated by periods. Each number may be zero to 255. For example, 1.160.10.240 could be a real IP address.
In redundant master/slave systems, when the master device fails and a slave device assumes the role of a master, the virtual MAC (VMAC) address associated with the original master device may replace the real MAC (RMAC) address of the slave device (i.e., the new system master). When a system later requests a response from the system master, the system master (e.g., the slave device assuming the role of the system master) may respond to the request with the virtual MAC (VMAC) address. The slave device (i.e., the new system master) does not respond with its own real MAC (RMAC) address. This arrangement allows the system to always use the same MAC address regardless of whichever device is the current system master.
Unfortunately, replacement of the real MAC (RMAC) address in the slave device removes the association between the real MAC (RMAC) address and the real IP (RIP) address, and causes the virtual MAC (VMAC) address to be associated with the real IP (RIP) address. Administrative services (e.g., system status checks, interface checks, connectivity checks, configurations, executing diagnostics, etc.) are run through the real IP (RIP) address. Thus, access to administrative services are lost to the slave device (the new system master) when the real MAC (RMAC) address is replaced with the virtual MAC (VMAC) address, and/or at least until other system devices can update their Address Resolution Protocol (ARP) tables (a lookup table used to translate IP addresses to MAC addresses), which may not occur for an extended period of time.